# set一般用来计算、去重、合并之类的：
# union, | 、intersection、& 、 different、- 、issubset、< 、add、update、pop

if __name__ == '__main__':
    """ set 可以做集合操作，并集、交集、子集
    """

    # set的初始化 3种方法
    var1 = set([1, 2, 32, 3, 232, 21])
    var2 = {1, 2, 32, 2}

    # list -> set
    list1 = ["1", "2", "2", "1"]
    set2 = set(list1)
    print(var1, list1, set2)

    # &交集 |并集  < 子集
    print("交集", var1 & var2)
    print("交集", var1.intersection(var2))

    print("并集:", var2 | var1)
    print("并集", var1.union(var2))

    print("子集:", var2 < var1)
    print("子集:", var1.issubset(var2))

    print("差集:", var2 - var1)
    print("差集:", var2.difference(var1))

    var1.add("增加一个元素")

    # var2 是var1的自己
    print(var1.issubset(var2))

    # var2 是var1 的父集
    print(var1.issuperset(var2))

    # 将var1在增加到var2中
    var2.update(var1)
    print(var2)

    # 从头部弹出第一个元素
    print(var1.pop())
